The I.sup.2 C (inter-integrated circuit) bus is a bi-directional two wire bus that provides low speed direct data communication between I.sup.2 C compatible devices on a circuit board. One advantage of the I.sup.2 C bus is that it eliminates many interfacing difficulties associated with other types of data buses. Generally, I.sup.2 C buses utilize a master/slave configuration, such that the master devices can communicate to all the other devices, while the slave devices generally respond to the data received over the I.sup.2 C bus. Some I.sup.2 C bus configurations also allow for a multi-master configuration and utilize collision detection and arbitration to prevent data corruption. Generally, the number of peripheral devices that can be connected to the I.sup.2 C bus is limited by the capacitance value of the bus.
The early versions of the I.sup.2 C bus did not have any set specifications for manufacturers to follow when designing I/O buffers to interface therewith. In fact, in many of the early versions of the I.sup.2 C bus, if a device connected to the I.sup.2 C bus did not have any power applied to the device, the configuration of I/O pins on the device would shunt the bus to ground. This would disable the I.sup.2 C bus preventing communication between all of the devices connected thereto. For example, many devices used electrostatic discharge (ESD) diodes on the I/O pins to protect the device from electrostatic discharge when powered down. In these devices, when power is lost to the device, the ESD diodes will load the bus and pull it to ground because the diodes are there to shunt static discharges to ground. This in turn, disables the I.sup.2 C bus and prevents any data communication between the other peripheral devices on the bus. Among other things, this creates a problem when bus communication is needed between two or more devices when most of the devices on the I.sup.2 C data bus are powered down. Such is the case, for example, when a system has redundant power supplies that use I.sup.2 C to coordinate operation. During the start-up of a system with redundant power supplies, the redundant power supplies must communicate therebetween to establish the proper operating parameters of the power supplies. If the I.sup.2 C data bus is disabled, communication over the bus can not occur, thereby preventing the power supplies from operating properly.
Therefore, it is highly desirable to have a device or bus architecture that permits data communication between at least two devices, when power has been disabled from at least one of the remaining peripheral devices connected to the data bus.